Congestion in computer networks slows network traffic. To reduce congestion, network devices automatically concatenate small messages to create larger blocks of data to send to the receiver. These congestion algorithms wait until a determined amount of data (e.g., a Maximum Segment Size (MSS), etc.), is available to send or until all acknowledgements have been received before sending the receiver more data. While these congestion algorithms are advantageous in delivering small messages, they are challenged when delivering larger data blocks, such as a large multimedia file, that might be split over several send operations.